`:top
`!PostScript Printer Description`! (`!PPD`!) files are created by vendors to describe the entire set of features and capabilities available for their `F33f`_`[PostScript`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=PostScript]`_`f printers.
A PPD also contains the PostScript code (commands) used to invoke features for the `F33f`_`[print job`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Print_job]`_`f. As such, PPDs function as drivers for all PostScript printers, by providing a unified interface for the printer's capabilities and features. For example, a generic PPD file for all models of HP Color LaserJet contains:
`B100`F9d9*% =================================`f`b
`B100`F9d9*% Basic Device Capabilities`f`b
`B100`F9d9*% =================================`f`b
`B100`F9d9*LanguageLevel: "2"`f`b
`B100`F9d9*ColorDevice: True`f`b
`B100`F9d9*DefaultColorSpace: CMYK`f`b
`B100`F9d9*TTRasterizer: Type42`f`b
`B100`F9d9*FileSystem: False`f`b
`B100`F9d9*Throughput: "10"`f`b
which specifies that the printer understands PostScript Level 2, is a color device, and so forth. The PPD can describe allowable paper sizes, memory configurations, the minimum font set for the printer, and even specify a tree-based user interface for printer-specific configuration.
A PPD is also often called `*PostScript Page Description`* instead of `*Printer Description`*, this is because PostScript has the concept of `*Page Devices`* where the PostScript page description configuration is read from or saved as a PPD file.`:cite-ref-1[`F5bf`_`[1`#cite-note-1]`_`f]
>>Contents
• `F0af`_`[CUPS`#cups]`_`f
• `F0af`_`[Windows`#windows]`_`f
• `F0af`_`[MIME type`#mime-type]`_`f
• `F0af`_`[References`#references]`_`f
• `F0af`_`[External links`#external-links]`_`f
-─
>>CUPS
`F33f`_`[CUPS`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=CUPS]`_`f uses PPD drivers for all of its PostScript printers, and has even extended the concept to allow for PostScript printing to non-PostScript printing devices, by directing output through a CUPS filter. Such a file is no longer a standard PPD, but rather a "CUPS-PPD". CUPS clients usually read the current PPD file from the server every time a new print job is created. It is located in `B100`F9d9/usr/share/ppd/`f`b or `B100`F9d9/usr/share/cups/model/`f`b.
`B100`F9d9/usr/share/ppd`f`b
`B100`F9d9├── cupsfilters`f`b
`B100`F9d9│ ├── Fuji_Xerox-DocuPrint_CM305_df-PDF.ppd`f`b
`B100`F9d9│ ├── Generic-PDF_Printer-PDF.ppd`f`b
`B100`F9d9│ ├── HP-Color_LaserJet_CM3530_MFP-PDF.ppd`f`b
`B100`F9d9│ ├── pxlcolor.ppd`f`b
`B100`F9d9│ ├── pxlmono.ppd`f`b
`B100`F9d9│ └── Ricoh-PDF_Printer-PDF.ppd`f`b
`B100`F9d9├── cups-pdf`f`b
`B100`F9d9│ ├── CUPS-PDF_noopt.ppd`f`b
`B100`F9d9│ └── CUPS-PDF_opt.ppd`f`b
`B100`F9d9└── custom`f`b
>>Windows
`F33f`_`[Microsoft Windows`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Microsoft_Windows]`_`f also uses PPD files but converts these to a binary .BPD `F33f`_`[file format`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=File_format]`_`f before using them. These, both PPD and BPD, are normally stored in `B100`F9d9%WINDIR%\\system32\\spool\\drivers\\w32x86\\3`f`b on an x86 system, or `B100`F9d9%WINDIR%\\System32\\spool\\drivers\\x64\\3`f`b on a 64 bit system.
Updating a PPD file requires four steps:
1. stop the `F33f`_`[spooling`:/page/wikibook/entry.mu`zim=wikipedia_en_all_nopic_2025-08.zim|entry_path=Spooling]`_`f service;
2. edit the existing PPD file in place or replace it by an updated version;
3. remove the old BPD file;
4. restart the spooling service.
This will automatically generate a new BPD from the updated PPD.
>>MIME type
The MIME type for the CUPS variant of PPD is application/vnd.cups-ppd.`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f]
>>References
`:cite-note-1`!1.`! `F0af`_`[↑`#cite-ref-1]`_`f PostScript Language Reference Manual Chapter 6.1 Using Page Devices page 393.
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f IANA: https://www.iana.org/assignments/media-types/application/vnd.cups-ppd
>>External links
• Adobe PostScript Language Specifications
• Adobe Tech Note 5003: PostScript Printer Description (PPD) File Format Specification, hosted on MIT
• Adobe Tech Note 5645: Update to PPD Specification Version 4.3, hosted on MIT
`c`F0af`_`[↑ Back to top`#top]`_`f`a